Skip to content

[Search][Onboarding] Default home to Global Empty State#195142

Merged
TattdCodeMonkey merged 8 commits intoelastic:mainfrom
TattdCodeMonkey:search_indices/es3-home-redirect
Oct 8, 2024
Merged

[Search][Onboarding] Default home to Global Empty State#195142
TattdCodeMonkey merged 8 commits intoelastic:mainfrom
TattdCodeMonkey:search_indices/es3-home-redirect

Conversation

@TattdCodeMonkey
Copy link
Copy Markdown
Contributor

@TattdCodeMonkey TattdCodeMonkey commented Oct 4, 2024

Summary

Updated the ES3 (Serverless Search) default home route to be the global empty state, when search_indices is enabled.
Moved the getting started page, the current homepage, from /app/elasticsearch to /app/elasticsearch/getting_started
This required adding a redirect for /app/elasticsearch to /app/elasticsearch/start.

After we enabled search_indices by default for ES3, we can remove the conditional logic added by this PR.

Screenshots

ES3 Home With search indices config FF enabled
image
ES3 Home with search indices config FF disabled
image

Checklist

@kibanamachine
Copy link
Copy Markdown
Contributor

Flaky Test Runner Stats

🟠 Some tests failed. - kibana-flaky-test-suite-runner#7097

[❌] x-pack/test_serverless/functional/test_suites/search/config.feature_flags.ts: 0/25 tests passed.
[❌] x-pack/test_serverless/functional/test_suites/search/config.ts: 23/25 tests passed.

see run history

@kibana-ci
Copy link
Copy Markdown

💛 Build succeeded, but was flaky

Failed CI Steps

Test Failures

  • [job] [logs] Jest Integration Tests #2 / unrecognized task types should be no workload aggregator errors when there are removed task types

Metrics [docs]

Public APIs missing comments

Total count of every public API that lacks a comment. Target amount is 0. Run node scripts/build_api_docs --plugin [yourplugin] --stats comments for more detailed information.

id before after diff
searchIndices 11 18 +7

Async chunks

Total size of all lazy-loaded chunks that will be downloaded as the user navigates the app

id before after diff
searchIndices 154.6KB 154.6KB -65.0B
serverlessSearch 331.3KB 331.3KB +4.0B
total -61.0B

Page load bundle

Size of the bundles that are downloaded on every page load. Target size is below 100kb

id before after diff
searchIndices 6.2KB 6.8KB +613.0B
serverlessSearch 20.5KB 21.5KB +1.0KB
total +1.6KB
Unknown metric groups

API count

id before after diff
searchIndices 11 18 +7

ESLint disabled line counts

id before after diff
searchIndices 3 2 -1

Total ESLint disabled count

id before after diff
searchIndices 4 3 -1

History

  • 💚 Build #239586 succeeded 4f01a237b6af63a47010ebf64416505d8399aa59

To update your PR or re-run it, just comment with:
@elasticmachine merge upstream

Updated the kibana plugins to use constants.
Added start plugin info to plugin contract for use by serverless_search.
Updated serverless search to use the global empty state as the home when
it is enabled. It will also move the current home to a dedicated getting
started page.

When we enable the global empty start FF config by default in es3 we can
remove the conditionals added with this code.
Updated FTRs to support moving getting started page when global empty
state is enabled.
Updated the global empty page redirect to always go to the index list
page if the first fetch has any indices. but to a specific index if
additional polling requests return a single index.
@TattdCodeMonkey TattdCodeMonkey force-pushed the search_indices/es3-home-redirect branch from e9480b3 to 5a243bd Compare October 7, 2024 15:09
@kibanamachine
Copy link
Copy Markdown
Contributor

Flaky Test Runner Stats

🎉 All tests passed! - kibana-flaky-test-suite-runner#7103

[✅] x-pack/test_serverless/functional/test_suites/search/config.feature_flags.ts: 25/25 tests passed.
[✅] x-pack/test_serverless/functional/test_suites/search/config.ts: 25/25 tests passed.

see run history

@elasticmachine
Copy link
Copy Markdown
Contributor

💛 Build succeeded, but was flaky

Failed CI Steps

Test Failures

  • [job] [logs] FTR Configs #53 / ObservabilityApp o11y sidenav sidenav & breadcrumbs renders the correct nav and navigate to links

Metrics [docs]

Public APIs missing comments

Total count of every public API that lacks a comment. Target amount is 0. Run node scripts/build_api_docs --plugin [yourplugin] --stats comments for more detailed information.

id before after diff
searchIndices 11 18 +7

Async chunks

Total size of all lazy-loaded chunks that will be downloaded as the user navigates the app

id before after diff
searchIndices 154.6KB 154.6KB -65.0B
serverlessSearch 331.3KB 331.3KB +4.0B
total -61.0B

Page load bundle

Size of the bundles that are downloaded on every page load. Target size is below 100kb

id before after diff
searchIndices 6.2KB 6.8KB +613.0B
serverlessSearch 20.5KB 21.5KB +1.0KB
total +1.6KB
Unknown metric groups

API count

id before after diff
searchIndices 11 18 +7

ESLint disabled line counts

id before after diff
searchIndices 3 2 -1

Total ESLint disabled count

id before after diff
searchIndices 4 3 -1

integrations: {
pathname: '/app/integrations',
},
...(options.apps ?? {}),
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@TattdCodeMonkey I don't see any change in Search projects configs where custom apps are passed. Do I miss something?
Tbh I don't see an issue to add new paths directly in base config

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I added them search/config.ts & search/config.feature_flags.ts

This allows to register apps that are only used in search, but more importantly in this case one of the app paths is updated when the FF is enabled which is why I needed to add this. I wanted to ensure the test continue to pass in both cases.

@dmlemeshko dmlemeshko self-requested a review October 8, 2024 14:10
@TattdCodeMonkey TattdCodeMonkey merged commit d573915 into elastic:main Oct 8, 2024
@kibanamachine
Copy link
Copy Markdown
Contributor

Starting backport for target branches: 8.x

https://github.com/elastic/kibana/actions/runs/11237662993

kibanamachine pushed a commit to kibanamachine/kibana that referenced this pull request Oct 8, 2024
## Summary
Updated the ES3 (Serverless Search) default home route to be the global
empty state, when `search_indices` is enabled.
Moved the getting started page, the current homepage, from
`/app/elasticsearch` to `/app/elasticsearch/getting_started`
This required adding a redirect for `/app/elasticsearch` to
`/app/elasticsearch/start`.

After we enabled `search_indices` by default for ES3, we can remove the
conditional logic added by this PR.

### Screenshots
ES3 Home With search indices config FF enabled

![image](https://github.com/user-attachments/assets/9a2227c0-8ec3-4e98-ba5c-08cebf8d3df4)
ES3 Home with search indices config FF disabled

![image](https://github.com/user-attachments/assets/68bb6f36-f754-4f6b-9637-cf419ef21945)

### Checklist

- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [ ] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed

(cherry picked from commit d573915)
@kibanamachine
Copy link
Copy Markdown
Contributor

💚 All backports created successfully

Status Branch Result
8.x

Note: Successful backport PRs will be merged automatically after passing CI.

Questions ?

Please refer to the Backport tool documentation

kibanamachine added a commit that referenced this pull request Oct 8, 2024
… (#195431)

# Backport

This will backport the following commits from `main` to `8.x`:
- [[Search][Onboarding] Default home to Global Empty State
(#195142)](#195142)

<!--- Backport version: 9.4.3 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sqren/backport)

<!--BACKPORT [{"author":{"name":"Rodney
Norris","email":"rodney.norris@elastic.co"},"sourceCommit":{"committedDate":"2024-10-08T14:29:59Z","message":"[Search][Onboarding]
Default home to Global Empty State (#195142)\n\n## Summary\r\nUpdated
the ES3 (Serverless Search) default home route to be the global\r\nempty
state, when `search_indices` is enabled.\r\nMoved the getting started
page, the current homepage, from\r\n`/app/elasticsearch` to
`/app/elasticsearch/getting_started`\r\nThis required adding a redirect
for `/app/elasticsearch` to\r\n`/app/elasticsearch/start`.\r\n\r\nAfter
we enabled `search_indices` by default for ES3, we can remove
the\r\nconditional logic added by this PR.\r\n\r\n### Screenshots\r\nES3
Home With search indices config FF
enabled\r\n\r\n![image](https://github.com/user-attachments/assets/9a2227c0-8ec3-4e98-ba5c-08cebf8d3df4)\r\nES3
Home with search indices config FF
disabled\r\n\r\n![image](https://github.com/user-attachments/assets/68bb6f36-f754-4f6b-9637-cf419ef21945)\r\n\r\n\r\n###
Checklist\r\n\r\n- [x] [Unit or
functional\r\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\r\nwere
updated or added to match the most common scenarios\r\n- [ ] [Flaky
Test\r\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1)
was\r\nused on any tests
changed","sha":"d573915dd30c62adb780728ab83668285f5bd64d","branchLabelMapping":{"^v9.0.0$":"main","^v8.16.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","v9.0.0","Team:Search","backport:prev-minor"],"title":"[Search][Onboarding]
Default home to Global Empty
State","number":195142,"url":"https://github.com/elastic/kibana/pull/195142","mergeCommit":{"message":"[Search][Onboarding]
Default home to Global Empty State (#195142)\n\n## Summary\r\nUpdated
the ES3 (Serverless Search) default home route to be the global\r\nempty
state, when `search_indices` is enabled.\r\nMoved the getting started
page, the current homepage, from\r\n`/app/elasticsearch` to
`/app/elasticsearch/getting_started`\r\nThis required adding a redirect
for `/app/elasticsearch` to\r\n`/app/elasticsearch/start`.\r\n\r\nAfter
we enabled `search_indices` by default for ES3, we can remove
the\r\nconditional logic added by this PR.\r\n\r\n### Screenshots\r\nES3
Home With search indices config FF
enabled\r\n\r\n![image](https://github.com/user-attachments/assets/9a2227c0-8ec3-4e98-ba5c-08cebf8d3df4)\r\nES3
Home with search indices config FF
disabled\r\n\r\n![image](https://github.com/user-attachments/assets/68bb6f36-f754-4f6b-9637-cf419ef21945)\r\n\r\n\r\n###
Checklist\r\n\r\n- [x] [Unit or
functional\r\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\r\nwere
updated or added to match the most common scenarios\r\n- [ ] [Flaky
Test\r\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1)
was\r\nused on any tests
changed","sha":"d573915dd30c62adb780728ab83668285f5bd64d"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","branchLabelMappingKey":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/195142","number":195142,"mergeCommit":{"message":"[Search][Onboarding]
Default home to Global Empty State (#195142)\n\n## Summary\r\nUpdated
the ES3 (Serverless Search) default home route to be the global\r\nempty
state, when `search_indices` is enabled.\r\nMoved the getting started
page, the current homepage, from\r\n`/app/elasticsearch` to
`/app/elasticsearch/getting_started`\r\nThis required adding a redirect
for `/app/elasticsearch` to\r\n`/app/elasticsearch/start`.\r\n\r\nAfter
we enabled `search_indices` by default for ES3, we can remove
the\r\nconditional logic added by this PR.\r\n\r\n### Screenshots\r\nES3
Home With search indices config FF
enabled\r\n\r\n![image](https://github.com/user-attachments/assets/9a2227c0-8ec3-4e98-ba5c-08cebf8d3df4)\r\nES3
Home with search indices config FF
disabled\r\n\r\n![image](https://github.com/user-attachments/assets/68bb6f36-f754-4f6b-9637-cf419ef21945)\r\n\r\n\r\n###
Checklist\r\n\r\n- [x] [Unit or
functional\r\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\r\nwere
updated or added to match the most common scenarios\r\n- [ ] [Flaky
Test\r\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1)
was\r\nused on any tests
changed","sha":"d573915dd30c62adb780728ab83668285f5bd64d"}}]}]
BACKPORT-->

Co-authored-by: Rodney Norris <rodney.norris@elastic.co>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release_note:skip Skip the PR/issue when compiling release notes Team:Search v8.16.0 v9.0.0

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants